unit stack;
interface
        procedure push (value:integer);
        function pop:integer;
        function empty:boolean;

implementation
const capacity=4;
var stackdata:array [1..capacity] of integer;
        top:integer;

procedure push(value:integer);



begin
if top=capacity then writeln ('stack is full')
else
        begin
        top:= top + 1 ;
        stackdata[top]:=value;
        end;
end;

function pop: integer;
begin
if top = 0 then writeln ('stack is empty')
else
        begin
        pop:= stackdata[top]; top:=top-1;
        end;
end;

function empty:boolean;
begin
empty:=top=0;
end;

begin
top:=0;
end.